#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
__author__ = "Administrator"
__name__="abstract_class"
__date__="2016/7/13"
__time__="15:47"
"""

# 抽象类

#接口：一、别人提供的URL；二、(interface IAlert) 另一种数据结构
'''
interface IAlert:
    def __init__(self):
        def send(self):
        pass    #只能写pass，不能写具体实现,相当于一个模板规范

class weixin(IALert):   #继承接口(模板)，必须实现模板中的方法send
    def send(self):
        print '微信报警'
'''
#抽象类 + 抽象方法 = 接口(第二种接口,用作规范)

from abc import ABCMeta, abstractmethod

class Alert:
    __metaclass__ = ABCMeta
    @abstractmethod
    def send(self):
        pass

class weixin(Alert):
    def __init__(self):
        print '__init__'
    def send(self):
        print 'send.weixin'


f = weixin()
f.send()

